<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <img src="ss.png" alt="" srcset="" />
        <div>
            1. 算法描述<br />
            快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高，因此经常被采用，再加上快速排序思想----分治法也确实实用。快速排序是一种既不浪费空间又可以快一点的排序算法。
            <br /><br />
            2. 算法步骤<br />
            先从数列中取出一个数作为“基准”。<br />
            分区过程：将比这个“基准”大的数全放到“基准”的右边，小于或等于“基准”的数全放到“基准”的左边。<br />
            再对左右区间重复第二步，直到各区间只有一个数。<br />
        </div>
        <script>
            var quickSort = function (arr) {
                if (arr.length <= 1) {
                    return arr;
                }
                var pivotIndex = Math.floor(arr.length / 2); //基准位置（理论上可任意选取）
                var pivot = arr.splice(pivotIndex, 1)[0]; //基准数
                var left = [];
                var right = [];
                for (var i = 0; i < arr.length; i++) {
                    if (arr[i] < pivot) {
                        left.push(arr[i]);
                    } else {
                        right.push(arr[i]);
                    }
                }
                return quickSort(left).concat([pivot], quickSort(right)); //链接左数组、基准数构成的数组、右数组
            };
        </script>
    </body>
</html>
